package com.wyh.domain.dto.groupOne.projectaboutdto;

import com.baomidou.mybatisplus.annotation.TableName;
import com.wyh.domain.po.groupOne.organization.MasterDataOrganization;
import com.wyh.domain.po.groupOne.projectabout.ResourceTypePO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel(value = "Project对象", description = "项目信息实体")
@TableName("project")
public class ProjectDTO implements Serializable {

    @NotNull(message = "[id]不能为空")
    @ApiModelProperty("id")
    private Integer id;

    @NotNull(message = "[上级id]不能为空")
    @ApiModelProperty("上级id")
    private Integer superiorid;

    @NotNull(message = "0园区、1楼盘")
    @ApiModelProperty("项目类型")
    private Integer type;

    @ApiModelProperty("名称")
    @Size(max = 255, message = "名称长度不能超过255")
    private String name;

    @ApiModelProperty("楼盘编号")
    @Size(max = 11, message = "楼盘编号长度不能超过11")
    private String number;

    @ApiModelProperty("收款账号")
    @Size(max = 255, message = "收款账号长度不能超过255")
    private String receivingaccount;

    @ApiModelProperty("开发商")
    @Size(max = 255, message = "开发商长度不能超过255")
    private String developer;

    @ApiModelProperty("资源业态")
    private Integer resourcetypeid;

    @ApiModelProperty("占地面积")
    private Double Landoccupationarea;

    @ApiModelProperty("户数")
    private Integer households;

    @ApiModelProperty("总建筑面积")
    private Integer totalarea;

    @ApiModelProperty("容积率")
    private Double Floorarearatio;

    @ApiModelProperty("车位数")
    private Integer numberofvehicles;

    @ApiModelProperty("详细地址")
    @Size(max = 255, message = "详细地址长度不能超过255")
    private String address;

    @ApiModelProperty("楼盘区域")
    @Size(max = 255, message = "楼盘区域长度不能超过255")
    private String region;

    @ApiModelProperty("收款人")
    private String payee;

    @ApiModelProperty("复核人")
    private String reviewer;

    @ApiModelProperty("公章信息附件")
    private String officialseal;

    @ApiModelProperty("关联资源情况，Y是关联到组织表，N是关联到本表")
    private String isconnected;

    @ApiModelProperty("关联资源情况,Y是关联到组织表,N是关联到本")
    private String formats;
    @ApiModelProperty("状态")
    private Integer state;
    @ApiModelProperty("上级组织")
    private MasterDataOrganization masterDataOrganization;

    @ApiModelProperty("资源业态实体")
    private ResourceTypePO resourceTypeDTO;

    @ApiModelProperty("上级名字")
    private String superiorName;


}
